home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 1
/
Cream of the Crop 1.iso
/
MONITOR
/
IM17.ARJ
/
IM.DOC
next >
Wrap
Text File
|
1991-02-01
|
32KB
|
607 lines
Inner Mission -- A deep space screen saver
COPYRIGHT (C) 1990 KEVIN STOKES
Welcome to Inner Mission. For a general description of what the
program does, see the file IMINFO.DOC. This file contains information
on the features and options available, as well as background info.
The information is divided into the following headings.
1.) Everyday use - command line examples, and suggestions for use.
2.) Fun keys - What the <cr>,t,y,m,+- keys do when stars are popped up.
3.) Command line options - an extended description of the many IM options.
4.) Possible problems - many difficulties with IM can be readily solved.
5.) General info - about the program itself
6.) Registration info
Everyday use
------------
Inner mission has a myriad of options available, some for the visual
effects, and some for the behavior of the program.
Most of these options are available on the control panel, but some are
available only as command line options. If one or more command line options
are used, the control panel will not come up unless specifically asked for
via the -V1 option.
Command line options also can be used if calling IM from a batch.
These command line options are invoked by using the standard form for
DOS command line options. For instance to get IM to display stars in
black&white only, type IM /B, as explained under the 'Command line options'
heading further below.
Note that many options can be selected in a row, as in:
IM /K2 /N8 /S1 /T4 /D (note: '-' can be substituted for '/')
Also, you may change any parameter any time merely by typing the command
over again. (IE. even after the TSR is memory resident, options can be
changed without rebooting.)
You may want to experiment to find the visual effect you like the best,
and place the IM command line in your AUTOEXEC.BAT file so that IM will
always be there after your computer has finished booting. If you have a
message you would like written in the stars to float by periodically, use
the -u0 option with a pipeline to feed in the message from a text file.
im -k2 -u0 -s3 < message.txt
This would make the program read in the text from the text file message.txt
and display it periodically when the stars were popped up. This is fine to
put in the AUTOEXEC.BAT file.
If IM uses too much memory, look at the -e, and -z options. Also try
using IMS.EXE instead of IM.EXE. It uses about half the RAM, and has the
-e, and -z options also. IM can also be easily removed from memory
with the MARK and RELEASE shareware programs. If you don't have these
already, they are recommended for any TSR use.
If there is a program where you do not want IM to interrupt even if you
don't touch the keyboard for long periods of time, you could make a batch
which turns off the auto-popup feature when the program is invoked, then
calls the program in question, then turns IM auto-popup back on when done
with the following text in a batch file.
Ex: Contents of MYPROG.BAT:
IM -A0
YOURPROGRAM.EXE
IM -A1
To use your program, just then type myprog.
If IM is popping up when you don't want it to, just press the y key
while the stars display is up. This will turn off the auto-popup. To
turn auto-popup back on, just hit the y again.
Fun keys
--------
The following keys do the following things if pressed while the stars
display is popped up.
<cr> - Enter hyperspace, visual effect of turning on your warp drive.
t - Time and Date comes floating slowly out at you from the distance.
(Not available in IMS.EXE)
m - Message floats out to you if you used the -u0 option.
(Not available in IMS.EXE)
y - Toggle the auto-popup option, without returning to DOS.
shift - Come back from the stars to whatever the computer was doing.
+ - The plus key on the key pad will increase the star speed.
- - The minus key on the key pad will decrease the star speed.
Command line options
--------------------
-A Disable automatic popup. Stars may now be brought up only by
pressing the hot key combination specifed by the -K or -L
options. -A or -A0 will turn off automatic popup, -A1 will
turn it on again. Default = auto popup
-B Black and white option. This applies only to EGA, VGA, and MCGA
users, since in the CGA case, a monochrome graphics mode is used.
Default = Color
-C Force CGA mode. This should be used with EGA cards with only 64k
ram, or with mono EGA displays.
Default = No force CGA
-D Do not disable video. When the computer is not waiting for
keyboard input, and yet the user does not hit a key for an
extended amount of time, the video is disabled to save the
screen from image burn. Stars do not come up because the stars
display stops the original program. When this option -D is used,
IM does not disable video. -D or -D0 turns off video disable,
-D1 turns video disable on.
Default = Video Disable on
-E If you have expanded memory (and a EMS driver installed) this option
will place more than half of Inner Mission in expanded RAM, thereby
increasing the amount of space available for DOS programs. To
minimize memory use, use in conjunction with -Z (Zap Environment)
or use IMS.exe with -E option.
Default = No use of EMS mem
-F Feline option- Inner mission checks the status of the mouse, so
that CAD programs will not be interrupted. If Inner Mission will not
stay popped up, and you suspect the mouse is unstable, the mouse
checks can be disabled with the -F option. Note that -F1 will
re-instate mouse checks.
Default = Check the mouse
-G! This sequence will unregister a program, thus rendering the program
into a form where it may be copied freely. If you use this option,
make sure you have a safe copy of your registered version somewhere
else, because this option will change your program to an unregistered
state.
-H This will type out a list of the available options, and a short
description of their effect.
-In This option specifies popup criteria. Some programs do not get their
keyboard input from DOS. ( A good example the the PC-Write program.)
Instead they get the keystrokes directly from the ROM BIOS.
Therefore, Inner Mission must watch how many calls per
second are made to the BIOS, in order to determine if the computer
is idle. If there are very few calls per second, a program
may be busy, but checking the keyboard occasionally to check for
a control-break etc. In this case, you would not want Inner Mission
to pop up, because your program would be halted while the stars are
displayed. Therefore, there exists an optimum number of keyboard
checks per second which indicate an idle computer.
This number of checks per second can be set with the -In option.
If n=0, popup is most likely, and IM may pop up when a program is
busy. If n=9, then IM is least likely to pop up during one of these
programs (a non-DOS keyboard caller). If n is set to too large a #,
IM will not pop up at all during one of these programs, even if the
machine is idle. (However, the screen may blank, because IM does not
stop the executing program when the screen blanks.)
So if IM is interrupting a program that is not waiting for a key,
try -I5 or higher until IM stops interrupting.
On the other hand if IM refuses to popup by itself during a
program that you know is idle, try decreasing n until it will pop up.
Default n=3, 256 cks/sec
n= 0 1 2 3 4 5 6 7 8 9
---------------------------------------------------------
64 128 186 256 350 512 768 1024 1500 2048
-J Jam into reverse gear. This reverses the direction of the stars
motion. Use once to look out of back window of the starship, use
again to reverse back to normal. This option is obsolete with
version 1.6, since you may reverse the star direction by going
through zero with the +, and - keys.
-Kn This option will set the hot keys to the desired key combination.
'n' is a digit 0-9 which specifies which hot key combo you desire.
The following table gives the available key combo's, and their codes.
If you have a PC/XT see the problem section below for a note about
the key combinations.
Default = 0, lft+rght shift
n Combo
___________________________________________________________________________
0 LFT-SFT + RGT-SFT ( left and right shift keys )
1 RGT-CNTL + RGT-SFT
2 RGT-SFT + RGT-ALT
3 LFT-SFT + RGT-SFT + RGT-CNTL
4 RGT-SFT + RGT-CNTL + RGT-ALT
5 LFT-SFT + RGT-SFT + RGT-CNTL + RGT-ALT ( Not Advised )
6 LFT-SFT + RGT-CNTL
7 LFT-SFT + RGT-ALT
8 LFT-SFT + LFT-CNTL
9 LFT-SFT + LFT-ALT
-Ln This option will set the hot keys to the desired alternate key
combination.
n Combo
___________________________________________________________________________
0 LFT-CNTL + LFT-ALT
1 LFT-SFT + LFT-CNTL + LFT-ALT
2 LFT-SFT + LFT-CNTL + RGT-SFT
3 LFT-SFT + LFT-ALT + RGT-SFT
4 SCROLL LOCK
5 SCROLL LOCK + RGT-SFT
6 SCROLL LOCK + LFT-SFT
-M This option makes IM run as a normal program. It does not install
itself into ram as a TSR. It merely jumps into the stars routine,
and exits when any key is depressed. All other options may be used
in the same command line, although some such as -E are pointless
unless the program is in memory as a TSR.
-Nn This sets the number of stars to a preset value determined by the
0-9 digit n. The following table describes the optional number of
stars.
Default = 8, 768 stars
n= 0 1 2 3 4 5 6 7 8 9
---------------------------------------------------------
# Stars= 64 100 128 200 256 350 512 630 768 512
-O Some programs take over the keyboard interrupts, so that the
bios routines no longer take care of keystroke input. If this
occurs, then IM cannot detect hot keys. Even worse, IM will pop
up by itself, and then will refuse to popdown, because IM can't
see the keys which signal a return to the original program.
Therefore, IM checks the keyboard interrupt vector to see if
some program has substituted it's own keyboard routines. If this
is true, then IM will refuse to popup.
Sometimes programs only keep an eye on keys, but still let the
bios do the main work. In this case IM will refuse to popup, but
infact it would be fine to pop up. This is where the -O0 option
comes in. The -O0 option will turn off these checks.
Use this option if IM will refuse to popup only when the computer
is running a certain program. If the program really gets its
from non-bios routines, then IM will still refuse to popup with
the hot keys. If this is the case, then IM simply can't work
with that program.
Using the option -O1 will reinstate the checks of int9 traps.
-P IM continually checks the printer status. If the printer port
changes state, IM will not pop up. This -P option turns off these
checks, in case there are spurious state changes to a non-connected
printer which are preventing the normal operation of IM. Using -P
with a non-zero digit following will re-enable printer status checks.
Default = Check Ptr Status
-R As in the above -P option, IM checks the RS-232 ports COM1 & COM2
for status changes, in order to avoid a IM popup causing a loss of
data coming in over the serial port, or interruption of data
transmission. Sometimes an unconnected port can generate random
serial port status changes, thus interfering with the operation of
IM. Therefore the -R option is available to shut off these checks.
To reinstate them, use the -R1 option.
Default = Check COM1&2 Stat
-Sn This sets the speed of travel of the stars to a preset value
determined by the 0-9 digit n. The following table describes the
optional star speed. Default = (Depends on PC speed)
n= 0 1 2 3 4 5 6 7 8 9
---------------------------------------------------
Velocity= 4 8 16 32 64 128 256 512 1024 512
-Tn This sets the time delay after the last key press, before IM
pops up the stars display automatically. The digit n determines
which of the follow preset delays (given in minutes) will be
used for the delay. Default = -T4 (5 min)
n= 0 1 2 3 4 5 6 7 8 9
---------------------------------------------------
# Min = 1/2 1 2 3 5 10 20 30 30 3
-Un This option allows the user to type in a custom message will
occasionally float by written in stars, while the stars display
is popped up. The n digit specifies the interval, while if
no digit is specified (-U ) the message will only appear if the
m key is pressed. When IM discovers the -U option, it will prompt
the user for the message. A message is one or more lines of no more
than 14 characters, followed by empty line ( a line with only a cr,
no spaces allowed.)
Note the user may send a text file as
the input using the dos pipeline character. ex:
IM -S3 -U0 < MESSAGE.TXT
This will take the text in the file message.txt and display it
every 30 seconds when the stars display is popped up. Note that
the m key will cause the message to appear immediately.
Default = No Message
-V This option will disable the control panel from popping up. If you
would like to call Inner Mission from a batch file, this will prevent
the batch from being interrupted by the control panel. Most of the
time this option is not necessary, because if there are any options
on the command line, the control panel will no come up by default.
If you would like to use both a command line option, and the control
panel, then use the -V1 option, which forces the control panel up
irregardless.
Default = Control Panel on.
-W Make auto-popup only occur if computer is sitting in a DOS wait-for
key loop. Some programs, (certain versions of Wordstar, for example)
do not call to DOS for their keyboard input. Instead, they check
keyboard status frequently by calling the ROM routines. Inner
Mission checks activity in these ROM routines to decide whether or
not the machine is actually busy. In some cases, this checking may
be undesirable, since a program may be checking for a cntl-break,
and Inner Mission would interrupt to pop up stars, thus causing the
program to halted until the user hits a key. Use -w or -w0 to turn
off auto-popup unless in DOS wait-for-key. Use -W1 to return IM to
normal operation. Default = -W1
-X Type out the registration number of your copy of Inner Mission.
-Z Zap the environment- When DOS runs any program, it makes a copy of
of the environment for the program. (Environment is just a list of
things like PATH=C:\DOS;C:\TC, stuff that is in your AUTOEXEC.)
Inner Mission does not really need this, so to save memory space
you may free up this space for use by other programs. The only
drawback to the -Z option is that the name IM will not show up on
any memory listings you type out using MAPMEM or an equivalent
program.
Possible problems
-----------------
IM is popping up with stars during programs that are not infact idle:
(This does not apply to screen blanking)
There are many ways to prevent this annoying activity.
The easiest fix is to just hit the y key when the stars pop up.
Then IM will not pop up again by itself. To return IM to normal,
popup the stars manually with the hot keys, and hit y again.
Check out the description of the -I option in the command line
descriptions above, if that is too intense, try some of these
other ideas.
The easiest thing is to increase the time delay before auto-popup
with the -Tn option. If you run long programs without the user
hitting keys, another option is -W. This option will prevent
the interrupting of programs unless they are truly waiting for
a user to hit a key.
You may also the the auto-popup feature totally off by using
the -A option. You may want to make a small batch file which turns
off the auto-pop flag, then runs the feisty program, and then turns
the auto-pop back on. For example:
MYP.BAT includes the following:
IM -A
MYPROG.EXE
IM -A1
IM bombs when the Windows program is run:
Inner Mission is incompatible with windows. It must be removed
from memory before Windows is run. IM can be removed from memory
easily with the shareware MARK and RELEASE programs. These programs
work well, and are readily available on many BBS's.
The screen is going blank in the middle of a program:
If no keys are typed, after a certain delay, IM will try to popup.
If at this time a popup with stars is impossible because the machine
is busy or in graphics mode, IM decides instead to blank the screen
without suspending the currently executing program.
If you are playing a game with a joystick, or are watching a program
run without typing, IM may sometimes blank the screen at an undesirable
moment. Try looking at the -D option to shut off the video disable.
Note that the option can be shut off just during the program in question
by using the batch technique described above.
IM display will not stay up:
This program checks the mouse, printer, and serial port status
continually to prevent IM from interrupting data flow to the printer,
or to the serial port. If IM refuses to stay popped up, try using the
-F, -R, or -P options. There maybe an unused port sending spurious
status changes which prevent normal operation of IM.
IM will not popdown in response to the mouse:
The mouse checking may not work on IBM PS/2's. It is unclear why,
there are other programs which dislike the PS2 mouse as well.
IM refuses to popup the stars display at all:
Remember that Inner Mission cannot pop up if the computer is in a
graphics mode, due to the fact that to save the screen would require
too much memory. If you would like the screen blanked, holding the
hot keys down for more than a second will blank the screen for you,
even if the machine is in graphics mode.
This problem may also be due to the reasons mentioned in the
previous problem solution. ( IE the stars will not stay popped up.)
Also see the option -O0 in the options discussion.
IM refuses to popup with the hot keys, but pops up automatically, then
machine is stuck in stars, or is stuck in blank screen mode:
This will happen if a program has used its own keyboard interrupt
routine. Then IM cannot detect a pop up command, and after it has
popped up of its own accord, IM cannot detect a key to shut it down.
In this case, movement of the mouse will still pop it down.
The solution is to turn off autopop-up before entering this program.
There is only one program which is presently known to do this, a
game marketed by Electronic Arts called Populous.
EGA screen display is not operating correctly:
If your EGA card has only 64k RAM, you must use the -C option to
force the program to use only the CGA emulation mode of the EGA.
When program returns from stars display, screen is scrambled:
Some EGA cards have been known to switch between video and
graphics modes with occasional failure. IM simply makes a BIOS
call to switch video modes, so if you see this kind of failure, it
may be a hardware error. The DOS command MODE 80 sometimes will
bring back the video card to the desired alphanumeric mode, otherwise
there is the all-powerful reboot.
The motion of the stars is too chunky:
If you are running IM on a PC/XT, the computer may not be able
to run fast enough to give a smooth motion to the stars. Try
lowering the number of stars to 350 with the IM -N5 -S7 option.
This will louse up the text features (IE logo, time, and user msg).
If you do this, you may as well use IMS.EXE instead of IM.EXE, since
the text will not come out right anyway.
The hotkey combination I set will not work:
If Inner Mission works fine with the default hot keys, left shift +
right shift, but doesn't popup with the hot keys you select, be aware
that any hot key combo which includes a left cntl, or left alt will not
work on a PC/XT, since they do not have left and right cntl&alt keys.
If you have a PC/XT, use only options which include the right alt&cntl
keys. Also, do not try to use the combo's which use the scroll lock key.
DOS refuses to delete an old configuration file in the root directory:
Use the DOS command ATTRIB -R 3A6B3A6B.3A6 (Or whatever the file name.)
first to remove the read-only attribute. Then the file may be deleted
normally.
The control panel goes nuts all by itself:
The computer thinks there is mouse which may not really be there. Try
starting up IM with the -F option to make sure the mouse isn't really
there.
The mouse goes dead when using the control panel:
Don't hold the button on the mouse down too long, it has a timeout
to prevent an endless loop. If you hold the mouse button down too long
IM will decide the mouse is malfunctioning, and will remove the mouseness
from the control panel use. You may still use the arrow keys.
About the program itself
------------------------
Inner Mission is written entirely in assembler. It is about 50k bytes
of code, of which only about 19k remains resident after termination. Of
that memory, most is buffer space to hold the xyz positions of the
stars for the display.
Inner Mission hooks many interrupts in order to be sure of not interrupting
a critical section of code, as well the detection of time passage, and user
key presses. The multiplex interrupt as described in the DOS Technical
Reference manual was used to provide an interface between the resident, and
non-resident portions of the program.
The stars display section of the program is a straight forward perspective
view of a 3 dimensional area filled with stars. The pattern of stars repeats
with a period of about 4 seconds. The text which floats past consists of
characters which are comprised of stars. There is a font stored in the
code. You can see that when a long phrase is floating by the rest of the
random stars become very sparse. If you decrease the number of stars with
the -n option, there are sometimes not enough stars to display a complete
phrase. When the text is past, IM regenerates the used stars with new
random stars.
Because the characters are written in the stars, the number of characters
which can be on the screen at one time is limited by the number of stars.
Also, the black lines running through the characters are just the stars
seperating as they move closer. Lines are formed because of the finite # of
pixels in the graphics display causes a rounding effect in the x&y coords.
If you had infinite graphics resolution, the letters would slowly resolve in
to points. Star colors were turned off when in letters because they tended
to make the stars look spotty.
The warp effect is created by merely not erasing the old stars when it's
time to update the position of a star. Therefore the stars leave a trail
as they pass. The warp effect is the reason why the speed can be changed
only by factors of two. If the z-coord increment did not cycle back through
the exact same numbers every time around then the trail left by the warping
stars will not be erased when the warp effect turns off. The warp effect is
disabled if characters are on the screen for a similar reason. If the stars
are changed in the middle of a warp, then the screen will not unwarp normally.
Inner Mission is a little big for a screen saver TSR, but unfortunatly every
bit of that RAM is needed. The minimum possible size for a screen saver which
preserves the previos screen while putting up an interesting display is about
5k. Inner Mission uses about 18k due to the storage necessary for the stars
and the font. The array which holds the xyz coords of the stars is
7.5k bytes. Another 4k bytes are needed to save the text and color
attributes of the screen, so that it is restored when IM pops down. Finally,
1.5k bytes are need for the font for the text display. That leaves the actual
code taking up about 5k. When the -E option is used, the screen memory, font
and star buffer array are put into EMS memory. The EMS code in IM uses only the
basic LIM EMS 3.2 standard.
IMS.EXE saves RAM by omitting the font, and shortening the necessary star
buffer. Since letters will never be on the screen, the 4 quadrants of the
display are repeated. This cut the amount of storage needed for the stars.
The font was no longer needed, and in IMS the old text screen is saved in a
compressed format=2500 bytes (as opposed to 4k for uncompressed). The
disadvantage in text compression is that some screens cannot be saved in
2500 bytes ( if they have many vertical bars of diff. colors). IMS will
then just refuse to popup.
Inner Mission uses the multplex interrupt 2FH to determine if IM has
already been loaded. If so, the multiplex int returns the segment addr
of where the resident copy in memory is. If IM is already loaded then
the program will not put another copy of itself in RAM, it will merely
interpret the command line, and then change the desired variables in
the already resident copy. Note that IM & IMS are separate programs,
and you cannot use an IMS command line to change variables in a resident
IM. You will end up with BOTH IM & IMS resident at the same time. It
won't crash, but it is slightly confusing.
IM would need 64k of RAM to save some graphics mode screens, so stars
will not pop up if the machine is sitting in graphics mode. But since IM
is being distributed as a screen saver, it is necessary to at least blank
the screen. This is easy with the CGA/MCGA/HGC boards, since you just
twiddle a bit in a I/O port. With EGA/VGA boards however, there is no
offical way to disable video. IM disables the video by zeroing the
PAS bit (bit#5) of the attribute address register (I/O Port# 3C0H).
This bit disables the display memory from getting access to the palette.
On every EGA/VGA board we have seen, this blanks the video. It is
possible there may be some boards which respond differently.
The configuration code checks the system date, and encodes the first
time configuration code and date in both the configuration file
and the IM.EXE itself. Each time IM is loaded from scratch, that
is updated and the name of the configuration file is changed. This
is to prevent people from putting commands in their autoexec.bat which
change the date while IM is loaded etc. The trial period lasts for one
week, or 35 runs of the program, whichever comes first.
The assembler source code for Inner Mission takes up about 200k. The
original program was written in 1987 on an original IBM PC with mono CGA.
In December 1989 it was translated in to assembler from FORTH to save
enough memory to make it into a TSR. After 6 months of work, IM version
1.5 was released to the public as a shareware program.
Registration information
------------------------
Thank you for considering registration.
Registration Fee is $5.00
Program works without any configuration file
and is never interrupted with more questions.
Registration Details:
When you configured your program, it assigned to you a
registration code. This registration code was then written into
the IM.EXE file. A matching answerback code is needed to transform
your copy of IM into a registered copy. Each copy of IM.EXE requires its
own unique answerback code.
To register, you send in your code #, the fee, and a self-addressed
stamped envelope. You will then receive a matching reply code and simple
instructions on how to transform your copy of Inner Mission into a full-blown
registered copy.
Warning:
DO NOT DELETE THE COPY OF IM.EXE WHICH HAS THE REGISTRATION NUMBER YOU HAVE
MAILED. THE ANSWERBACK CODE WILL BE USELESS TO YOU IF HAVE DELETED ITS
CORRESPONDING .EXE FILE! (If the trial period runs out before you have gotten
a response from Pie in the Sky, you may start another trial period. But be
careful not change the registration number when answering the questions.)
Please send either cash or a check made out to "Pie in the Sky Software."
To register, send your registration codes, the fee, and self-addressed
stamped envelope to:
Pie in the Sky Software
PO BOX 4742
Duke Station
Durham, NC 27706
This offer is valid thru July, 1991.
Email Address of Pie in the Sky:
Internet : kds@physics.phy.duke.edu
Prodigy : DWHC72A
Genie : K.STOKES1
Compuserve: 74040,3526